# 导图Flask包
from os import name
from flask import Flask,request,jsonify
from sqlalchemy.orm import query
# 导出peizhi文件中的Cpeizhi方法
from peizhi import Cpeizhi
# ORM建表需要的导包
from flask_sqlalchemy import SQLAlchemy
import json


app = Flask(__name__)
# 加载配置文件
app.config.from_object(Cpeizhi)
db = SQLAlchemy(app)
# 跨域
from flask_cors import CORS
CORS(app)

# ORM方式建表
class Order(db.Model):
    #                 数字类型   主键             自增
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    #                    字符串类型  唯一的
    name = db.Column(db.String(64),unique=True)
    #                     数字类型
    price = db.Column(db.Integer)
    # 数据库中的表名
    __tablename__ = "order"

# 添加展示数据库
# 配置路由
@app.route('/show',methods=['POST','GET'])
def show():
    # 判断如果是添加
    if request.method=='POST':
        # 获取传过来的数据
        data = json.loads(request.data)
        # 往表里添加数据
        user = Order(name=data['name'],price=data['price'])
        # 添加
        db.session.add(user)
        # 保存
        db.session.commit()
        return "添加成功"
    # 获取数据
    else:
        # 获取出来所有的数据
        show = Order.query.all()
        # 定一个空列表存放数据的
        list=[]
        # 循环获取出来的数据
        for i in show:
            # 因为获取出来的数据时列表套字典的形式
            dict={}
            dict['id'] = i.id
            dict['name']=i.name
            dict['price']=i.price
            # 获取出来添加到空列表中
            list.append(dict)
        print(list)
        return jsonify({'code':200,'matter':list})


# 建表
# db.create_all()
# 删除表
# db.drop_all()


if __name__ == '__main__':
    app.run()
